package com.tangguangdi.base.common.annotation;

import com.tangguangdi.base.common.basic.PermissionRule;
import com.tangguangdi.base.common.basic.PermissionTimeFilter;

import java.lang.annotation.*;

/**
 * 权限注解
 */
@Inherited
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Permission {

    /**
     * 接口名称
     * @return 默认为空
     */
    String name() default "";

    /**
     * 鉴权规则
     * @return 默认为登录
     */
    PermissionRule rule() default PermissionRule.Login;

    /**
     * 时间过滤
     * @return 默认为全天
     */
    PermissionTimeFilter timeFilter() default PermissionTimeFilter.AllDay;

    /**
     * 时间设置
     * @return 默认为空
     */
    String timeSet() default "";
}
